const {
	HttpPost,URL,timestampToTime
} = require('../utils/utils');


var app = getApp()

Component({

  // 组件的wxml的{{}}中都可以绑定properties中定义的属性以及data中定义的变量
  // properties对象接收外部(父)组件传过来的自定义属性数据,可以是对象,数组,基本数据类型等，定义的变量是开放的，外部(page页面)可以访问
  // data是定义当前组件内的私有变量数据,可用于组件模板的渲染，外部不能访问

  /**
   * 组件的属性列表
   */
  properties: {
    oldName:String,
    name:String,
    openId:String,
  },

  /**
   * 组件的初始数据
   */
  data: {
  },

  /**
   * 组件的方法列表
   */
  methods: {

    showModel(oldName){
      this.setData({oldName:oldName, name:oldName})
    },

    nameInputChange: function (e) {
      this.setData({
        name: e.detail.value
      })
      console.log("nameInputChange", e.detail.value)
    },

    async randomName(e) {
			let res = await HttpPost('randomname',{
			})
			if (res.code != 0) {
					wx.showToast({
						title: '系统错误：' + res.msg,
					})
					return
			}
			this.setData({
				name: res.name
			})
    },

    /**
     * 弹出框蒙层截断touchmove事件
     */
    preventTouchMove: function () {},
    /**
     * 隐藏模态对话框
     */
    hideModal(newName) {
      console.log("hideModal", newName, this.data, this.properties)
      this.triggerEvent('changeNameOverEvent', {
        newName: newName,
      })
    },
    /**
     * 对话框取消按钮点击事件
     */
    onCancel() {
      this.hideModal();
    },
    async onConfirm() {
      if (this.data.name.length > 10 || this.data.name.length == 0) {
        wx.showToast({
          title: '名字不好',
          icon: 'error',
          duration: 1000,
          mask: true,
        })
        return
      }

      let newName = this.data.name.trim()
      if (newName == this.data.oldName) {
        this.hideModal();
        return
      }
			let res = await HttpPost('setname',{
				name:newName,
			})
			if (res.code != 0) {
					wx.showToast({
						title: '系统错误：' + res.msg,
					})
					return
			}
			this.hideModal(newName);
		},
  }
})